package com.neusoft.mapper;

import com.neusoft.pojo.Attend;
import org.apache.ibatis.annotations.Mapper;

import java.util.Date;
import java.util.List;

@Mapper
public interface AttendMapper {

    //首先，部门负责人可对本部门的员工发布签到，设置截止时间即可
    //部门信息可以根据部门名称查询
    //记录表默认插入 :
    // 非空字段：   atten_id自增
    //            atten_deadline 设置
    //            atten_time默认为attendline
    //            user_id该部门下的所有员工
    //            attend_state 考勤状态默认为 未签
    // 可以为空字段 attend_type 考勤类型可以不填 attend_explain考勤说明可以为空
    // 1. 给 Attend中的 Dept对象注入
    // 2. 给 AttendMapper 中的User对象注入
    // 3. 向
    int insertAttends(Attend attend);
    /*
    然后，员工开始签到
       查询本人最新的未签记录，并将其考勤状态从 未签 修改为 出勤
    * */
    Attend recentAttendance();
    boolean updateAttend(Attend attend);
    /*
    员工签到完成 部门负责人可以查看出勤状况
    * */
    List<Attend> attendListByDeptId(int deptId);
    /*
    员工可以查看自己的考勤记录
     */
    Attend attendOne(Date date,int userId);
    /*
     * 也可以查看所有部门的考勤记录
     * */
    List<Attend> attendList();


}
